/**
* 模版
**/

<template>
    <div>
      <CRUD
        :stacolumn="column"
        :List="getlist"
        :Update="toUpdate"
        :Add="toAdd"
        :Delete="toDelete"
        :title="title"
        :dialogTitle="dialogTitle"
        :searchProp="searchProp"
        :searchText="searchText"></CRUD>
    </div>
</template>

<script>
// 导入组件
import temp from "../../components/template.vue";
import{ List, Delete, Add, Update, collegeOptions} from '../../api/adminMG.js'

// 导出模块
export default {
  // 模块名字

  // 模块数据
  data() {
    //数据
    return {
      // 面包屑标题
      title: '管理员设置',
      // 数据表单标题
      dialogTitle: '管理员信息',
      // 搜索字段的属性名
      searchProp: 'username',
      // 搜索框提示
      searchText: '搜索用户名',

      // CRUD方法
      getlist: function(page, pagesize){
        return List(page, pagesize);
      },
      toUpdate: function(form) {
        return Update(form);
      },
      toDelete: function(id) {
        return Delete(id);
      },
      toAdd: function(form) {
        return Add(form);
      },

      // 表单结构设置
      column: [
        {label: 'id', prop: 'id', disable: true, tagType: 'input',type: "text"},
        {label: '学院', prop: 'collegeId', disable: false, tagType: 'selector', options:[]},
        {label: '用户名', prop: 'username', disable: false, tagType: 'input',type: "text"},
        {label: '密码', prop: 'password', disable: false, tagType: 'input',type: "text"},
        {label: '姓名', prop: 'name', disable: false, tagType: 'input',type: "text"},
        {label: '等级', prop: 'level', disable: false, tagType: 'selector',options: [
          {label: '超级管理员', value: 1},
          {label: '学院管理员', value: 2},
          {label: '裁判组', value: 3},
          {label: '宣传组', value: 4},
          ]}
        // {label: '等级', prop: 'level', disable: false, tagType: '', options: []},
      ],
    };
  },
  // 注册组件
  components: {
    "CRUD": temp
  },
  // 监听指定值，只有指定值变化，才会触发
  watch: {},
  // 里面的函数只有调用才会执行（实时计算）里面是定义的方法
  methods: {
    addFun() {},
    submitFun() {}
  },
  // 创建前状态(里面是操作)
  beforeCreate() {},
  // 创建完毕状态(里面是操作)
  created() {
    // 初始化映射表
    collegeOptions().then(res => {
      this.column[1].options = res;
    })
  },
  // 挂载前状态(里面是操作)
  beforeMount() {},
  // 挂载结束状态(里面是操作)
  mounted() {},
  // 更新前状态(里面是操作)
  beforeUpdate() {},
  // 更新完成状态(里面是操作)
  updated() {},
  // 销毁前状态(里面是操作)
  beforeDestroy() {},
  // 销毁完成状态(里面是操作)
  destroyed() {}
};
</script>
// scoped 样式只在本组件使用
<style scoped>
/**
 * 导入css样式组件
 * @import "../assets/css/components/index.css";
 */
</style>
